A lot of different distributed storage systems exist, such as the Google file system, Ceph, Hadoop, Amazon EC2 are a few of the most common storage systems. Ceph is an object storage system that optionally provides a traditional file system interface with POSIX semantics. Object storage systems complement but do not replace traditional file systems. One can run one storage cluster for object, block and file-based data storage. Ceph's file system runs on top of the same object storage system that provides object storage and block device interfaces. The Ceph metadata server cluster provides a service that maps the directories and file names of the file system to objects stored within RADOS (Reliable Autonomic Distributed Object Store) clusters. The metadata server cluster can expand or contract, and it can rebalance the data dynamically to distribute data evenly among cluster hosts. This ensures high performance and prevents heavy loads on specific hosts within the cluster.
Storage systems with typical architectures have a number of issues that reduce their efficiency. These issues include many layers of software through which communication must pass to write and read data. The heavy layering increases the complexity of the system which can require detailed configuration and optimization efforts. The current architectures also are difficult to scale given the layering and complexity issues. Furthermore, all these architectures are constructed on the fundamental assumption the disks are the performance bottleneck. Much software engineering has been spent to find solutions (e.g. File System caches) to mask poor disk performances. New solid-state device (SSD) technologies are likely to make deciduous this foundational assumption. As a consequence, a whole industry could literally fall apart and be replaced by new approaches in which the storage devices are not any more considered as the performance bottleneck. These and other issues suggest a need in the art for improved processes for managing data storage.